addition with partitioning